home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / scrn_map.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-03-05  |  4.6 KB  |  89 lines

  1. 1  ' (PC)^3 Software Submission SCNMAP authored on February 4, 1983 by
  2. 2  '
  3. 3  ' Michael Csontos, 3228 Livonia Center Road, Lima, New York 14485
  4. 4  '
  5. 5  ' Copyright 1983 Michael Csontos
  6. 6  '
  7. 7  '  This program is made freely available non-exclusively to the Picture
  8. 8  '  City Personal Computer Programmers' Club for distribution to its members
  9. 9  '  and through software exchange to other users groups as long as credit is
  10. 10  ' given to the author and (PC)^3.
  11. 11  '
  12. 15  '
  13. 16  '
  14. 10000  CLS:SCREEN 0,0,0:WIDTH 80:KEY OFF:WIDTH "lpt1:",255:DEFINT A-Z
  15. 10100  PRINT "This program will cause the Epson printer (with script capability) to make
  16. 10200  PRINT "a form that can be used to lay-out screen formats for the IBM color-graphics
  17. 10300  PRINT "adapter card in the alpha-numeric mode in either the 40 or 80 column width.
  18. 10400  PRINT "You may choose either a blank form or one with each character position filled
  19. 10500  PRINT "with the address of the memory location corresponding to that position.
  20. 10600  PRINT
  21. 10700  PRINT "Do you want: 1) a blank 40 width form,
  22. 10800  PRINT " or          2) a filled 40 width form,
  23. 10900  PRINT " or          3) a blank 80 width form,
  24. 11000  PRINT " or          4) a filled 80 width form,
  25. 11100  PRINT " or          <Esc> to end the program.
  26. 11200  PRINT:PRINT "Please press 1, 2, 3, 4, or <Esc>.
  27. 11300  X$=INKEY$:IF X$="" THEN 11300 ELSE IF X$=CHR$(27) THEN 11700 ELSE A=VAL(X$)
  28. 11350  ON ERROR GOTO 11650
  29. 11400  IF A>4 OR A<1 THEN 11200
  30. 11500  IF A=1 OR A=2 THEN 11800
  31. 11600  IF A=3 OR A=4 THEN 14500
  32. 11650  RESUME
  33. 11700  CLS:KEY ON:END
  34. 11800  LPRINT CHR$(27)CHR$(64)CHR$(15)CHR$(27)CHR$(48)'reset;compressed;1/8" lines
  35. 11900  IF A=1 THEN LPRINT "Blank layout for screen graphics for the IBM Personal Computer Color Graphics Adapter Card in the 40 column width mode.":LPRINT:GOTO 12100
  36. 12000  LPRINT "Memory map of the screen graphics RAM for the IBM Personal Computer Color Graphics Adapter Card in the 40 column width A/N mode.":LPRINT
  37. 12100  LPRINT CHR$(27)CHR$(45)CHR$(1);:FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT CHR$(27)CHR$(45)CHR$(0)'underlined
  38. 12200  FOR M=1 TO 40
  39. 12300  LPRINT CHR$(27)CHR$(51)CHR$(1);'1/216" lines (effectively no LF)
  40. 12400  FOR N=1 TO 26:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT
  41. 12500  IF A=1 THEN LPRINT:GOTO 12800
  42. 12600  LPRINT CHR$(27)CHR$(83)CHR$(1);'subscript
  43. 12700  FOR L=0 TO 24 STEP 1:LPRINT USING " ####";(80*(25-L))-(80-2*M+1)-1;:NEXT L:LPRINT
  44. 12800  LPRINT CHR$(27)CHR$(49)CHR$(27)CHR$(84)CHR$(27)CHR$(72)'7/72" lines;cancel script; cancel double strike;line feed
  45. 12900  LPRINT CHR$(27)CHR$(51)CHR$(1):LPRINT:LPRINT '1/216" lines (effectively no LF)
  46. 13000  LPRINT CHR$(27)CHR$(45)CHR$(1);'underline
  47. 13100  FOR N=1 TO 26:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT USING "##";M
  48. 13200  LPRINT CHR$(27)CHR$(45)CHR$(0);'cancel underline
  49. 13300  IF A=1 THEN LPRINT:GOTO 13600
  50. 13400  LPRINT CHR$(27)CHR$(83)CHR$(0);'superscript
  51. 13500  FOR L=0 TO 24 STEP 1:LPRINT USING " ####";(80*(25-L))-(80-2*M)-1;:NEXT L:LPRINT
  52. 13600  LPRINT CHR$(27)CHR$(49)CHR$(27)CHR$(84)CHR$(27)CHR$(72) '7/72" lines;cancel script; cancel double strike;line feed
  53. 13700  NEXT M
  54. 13800  LPRINT CHR$(27)CHR$(65)CHR$(2)'line feed 2/72"
  55. 13900  FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT
  56. 14000  LPRINT CHR$(15)CHR$(27)CHR$(48);'compressed;1/8" lines
  57. 14100  IF A=1 THEN LPRINT:LPRINT "In the above chart each block represents a character (pel).":GOTO 14400
  58. 14200  LPRINT:LPRINT "In the above chart each block represents a character (pel). The upper number is the address of the character, the lower is the
  59. 14300  LPRINT "address of the attribute. To access these bytes in BASIC, use the instruction DEF SEG=&HB800 then PEEK(n) or POKE n,data.
  60. 14400  LPRINT CHR$(12);:ON ERROR GOTO 0:RUN
  61. 14500  C=80:R=25
  62. 14600  LPRINT CHR$(27)CHR$(64)CHR$(15)CHR$(27)CHR$(48)'reset;compressed;1/8" lines
  63. 14700  IF A=3 THEN LPRINT "Blank layout for screen graphics for the IBM Personal Computer Color Graphics Adapter Card in the 80 column width mode.":LPRINT:GOTO 14900
  64. 14800  LPRINT "Memory map of the screen graphics RAM for the IBM Personal Computer Color Graphics Adapter Card in the 80 column width A/N mode.":LPRINT
  65. 14900  LPRINT CHR$(27)CHR$(45)CHR$(1);:FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT CHR$(27)CHR$(45)CHR$(0);'underlined
  66. 15000  LPRINT CHR$(27)CHR$(65)CHR$(1)'1/72" lines
  67. 15100  FOR P=1 TO 5:LPRINT :NEXT P
  68. 15200  FOR M=1 TO C
  69. 15300  FOR N=1 TO R+1:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT
  70. 15400  LPRINT CHR$(27)CHR$(83)CHR$(1);'subscript
  71. 15500  IF A=3 THEN FOR L=0 TO R-1 STEP 1:LPRINT "     ";:NEXT L:LPRINT USING "   ##";M:GOTO 15700
  72. 15600  FOR L=0 TO R-1 STEP 1:LPRINT USING " ####";(2*C*(R-L))-(2*C-2*M+1)-1;:NEXT L:LPRINT USING "   ##";M
  73. 15700  LPRINT CHR$(27)CHR$(84)CHR$(27)CHR$(72);'cancel script; cancel double strike
  74. 15800  LPRINT CHR$(27)CHR$(45)CHR$(1);'underline
  75. 15900  FOR N=1 TO R+1:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT "_"
  76. 16000  LPRINT CHR$(27)CHR$(45)CHR$(0);'cancel underline
  77. 16100  LPRINT CHR$(27)CHR$(83)CHR$(0);'superscript
  78. 16200  FOR P=1 TO 5:LPRINT:NEXT P
  79. 16300  LPRINT CHR$(27)CHR$(84)CHR$(27)CHR$(72);'cancel script; cancel double strike
  80. 16400  NEXT M
  81. 16500  FOR P=1 TO 6:LPRINT:NEXT P
  82. 16600  LPRINT CHR$(15)CHR$(27)CHR$(48);'reset;compressed;1/8" lines
  83. 16700  FOR L=R TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT
  84. 16800  IF A=3 THEN LPRINT:LPRINT "In the above chart each block represents a character (pel).":GOTO 17100
  85. 16900  LPRINT:LPRINT "In the above chart each block represents a character (pel). The number is the address of the character, add one to this number for
  86. 17000  LPRINT "the address of the attribute. To access these bytes in BASIC, use the instruction DEF SEG=&HB800 then PEEK(n) or POKE n,data.
  87. 17100  LPRINT CHR$(12);:ON ERROR GOTO 0:RUN
  88. 17200  '         SAVE"scnmap.bas",a
  89.